Valid Palindrome
Leetcode #125 | Easy | Два указателя
Идея
Два указателя навстречу, пропуск всех ненужных символов
Big-O
- Время
O(N) - Память
O(1)
Код
class Solution {
public boolean isPalindrome(String s) {
int l = 0, r = s.length() - 1;
while (l < r) {
while (l < r && !Character.isLetterOrDigit(s.charAt(l))) l++;
while (l < r && !Character.isLetterOrDigit(s.charAt(r))) r--;
if (Character.toLowerCase(s.charAt(l)) != Character.toLowerCase(s.charAt(r))) return false;
l++; r--;
}
return true;
}
}